モジュール詳細:七中四選

えっ... これが君の好きな色?青ね。ダメ!黄色しか勝たああああああん!

このモジュールは四つのピンクのボタンがあり、それぞれの真横で点滅している色がある。

解除のヒント

  • このモジュールを解除するには、4つの4桁の数字コードを順番に入力する必要がある。入力する各4桁のコードはシーケンス番号が割り当てられる。一番目に入力する4桁の数字コードはシーケンス番号1、二番目は2のようになる。
  • 上から下に並んだボタンには、それぞれの真横で点滅している色がある。
  • 点滅している色は4つの「キー」に変換される。それぞれのキーは英字1文字である。
  • 各点滅は「モールス信号、タップコード、色シーケンス、1から7秒間の長い点滅」のどれか一つに則る。
  • モールス信号とタップコードは、通常の手順(モールス信号タップコードのマニュアルを参照)で解読する。これが、モールス・キータップ・キーとなる。
  • 色シーケンスはボタンに関連する4つの色に対応している。ボタンは上から下の順番で読む。また、五番目の色はカラー・キーである。カラー・キーの色名の頭文字を英字として使用する。
  • 最後のコードは、単純に1から7の点滅時間を使用する。この点滅はモールス信号のダッシュよりも長く、モールス信号と区別が付くようになっている。ナンバー・キーは、リスト「R G B M C Y W」の[得た数字]番目の英字である。
  • 四つのキーを取得したら、これらのキーを入力として使い、各色を数字4桁のコードに変換する。
  • 4桁の数字コードは、各ボタンに対応する色についてのみ求めればよい。
  • コードの送信順は、上から下へ読んだ色の順番、つまり色シーケンスの先頭4色と同じである。
  • 一番目の色に使うキーはカラー・キーである。残りのキーの順番は、カラー・キーのある位置から下に読み、必要に応じて一番上にループして続いていく。
  • 各色から4桁の数字コードを求める手順は、以下に記されている。
  • コードを送信できる準備ができたら、以下の内容を把握しておくこと。
    • 4桁の数字コードを入力する際、ボタンは現在の色に関連するボタンから順に1~4の番号が割り当てられ、必要に応じてループする。
    • モジュールは、4桁の数字コードを送信した後のみミスの判定を行う。ミスが記録された場合、現在の色のコードは削除され再度入力し直す必要がある。
    • 4桁の数字コードが正しく送信された場合、その色に対応するボタンが緑色になる。四つのボタンすべてが緑色になると、モジュールは解除される。

赤(Red)

  1. アルファベット上の位置の数字(A = 1,...)を使用して、入力のキーを二桁の数字に変換する。
  2. 数字が10未満の場合、先頭に0を付ける(01, 02,...など)。
  3. この数字に、名前にRが含まれる爆弾上のポートの個数を足す(※)。その数字が99を超える場合、下二桁を使用する。
  4. 二つの各桁に対し、その桁の数字が奇数の場合はそれを1に変換し、偶数の場合は0に変換する。
  5. 下の論理ゲート表から使用すべき論理ゲートを特定する。シーケンス番号は現在求めている4桁の数字コードの番号に対応する。
  6. 1を真、0を偽として、二桁の数字を論理ゲートの入力に使用する(論理ゲートについては、付録Aを参照する)。
  7. そして、論理ゲートの出力に基づいて、表の中から目的のコードを探す。

※ ポートの英名はこのページを参照すること。

シーケンス番号
1234
論理ゲートNORXORORAND
1423231441232341
2313423122331231

緑(Green)

  1. アルファベット上の位置の数字(A = 1,...)を使用して、入力のキーを二桁の数字に変換する。
  2. 数字が10未満の場合、先頭に0を付ける(01, 02,...など)。
  3. 各桁の数字にシリアルナンバーにある「G」と「7」の個数を足し、各桁の数字をそれを4で割った余りにする。
  4. 二つの桁から得られる4通りの組み合わせを段と列に使用(左上が0,0)し、ライン表内の四つのセルを見つける(例:AB => AA, AB, BA, BB)。
  5. 四つのセルに含まれる線の数を足し合わせ、この情報を使用して下の表から4桁の数字コードを求める。
  6. 現在のシーケンス番号に対応する組み合わせを取得する。数えた線の本数が偶数であれば、取得したコードを逆順にする。

ライン表

シーケンス番号
1234
3241112243321231

青(Blue)

  1. アルファベット上の位置の数字(A = 1,...)を使用して、入力のキーを二桁の数字に変換する。
  2. 1-5の範囲になるまで、値から5を引く。これが段番号である。
  3. 列については、まずシリアルナンバーにあるAからEの範囲に含まれる英字のうち最も先頭にあるものを見つける。そのような英字がない場合、段番号を英字に変換(A = 1,...)し、この英字を列に使用する。
  4. この座標は、下のグリッドの開始位置である。
  5. 最初に、グリッドの縁にぶつかるまでに最も長い距離を移動できる方向を見つける。最長の方向が複数ある場合、北から時計回りの順で優先される。
  6. この方向に、爆弾の単3バッテリーの個数だけ進む。
  7. その後、同率の優先度を南から反時計回りにしたステップ5のルールに従い、爆弾の単1バッテリーの個数だけ進む。
  8. 到達したセルに目的の4桁の数字コードがある。
ABCDE
112341243213421433124
231421324134214231432
341234132231423413214
432412413243142134231
534123421431243211234

マゼンタ(Magenta)

  1. 以下のグリッドからキーの英字を見つける。
  2. シリアルナンバーの先頭四文字もグリッドから見つける。数字は英字に変換する(A=0,B=1)。
  3. 上下左右のみ(斜めは禁止)の移動で、キーの英字からシリアルナンバーの各文字まで最短経路で移動する際の移動数を求める。
  4. 文字に到達するたびにキーの英字からやり直し、移動数は1-4の範囲になるように4を足し引きすること。
  5. 変更後の移動数をシリアルナンバーの順に並べる。これが4桁の数字コードである。
  6. 必要に応じ、グリッド内のAはZに置き換えて解釈する。
LPRIS
XOFBV
AYDCT
KGWQN
MEUHJ

シアン(Cyan)

  1. キーの英字を数字(A=1,B=2,...)に変換し、1から7の範囲になるまで7を引く。
  2. この数字は、リスト「R G B M C Y W」の[得た数字]番目の英字が名前の頭文字である色に対応している。
  3. 他に3つの色を求める必要があり、これはモジュール上の他3つのボタンに対応する色を使用する。
  4. 4つの色内の原色の数と二次色の数から2つの値を取得し、それを連結して最終的な数字コードを得る。二次色の2桁の前に原色の2桁を設定する(XXYY)。
  5. Pは原色でありSは二次色である。原色と二次色を数える際には、R G B Wは原色、M C Y Wは二次色とする。
#PXX#SYY
1P134S14
3P420S34
4P431S23
0P123S24
2P132S31

黄色(Yellow)

  1. 4桁の数字コードを求めるには、キーに応じてYELLOWを使用した特殊な暗号方式を使用する。
  2. まず、YELLOWに含まれる英字のうち、キーの英字とアルファベット上の位置が最も近い英字をYELLOWから除外する。最も近い英字が複数ある場合、アルファベット順で優先される。取り除くべき英字がLの場合、一文字だけ除外する。
  3. キーの反転英字(A->Z,B->Y,C->X)を求め、キーの英字をその英字に読み替えてステップ2を実行する。
  4. YELLOWに含まれる4つの英字があるはずである。この文字列をシーケンス番号だけ右にずらす。右端の英字は左端にループする。
  5. アルファベット順で英字を1-4の数字に変換する(例:AFDH = 1324)。これが答えである。

白(White)

  • 白以外の6色のどれか一色を選択し、この色のキーや現在のシーケンス番号を使用して4桁の数字コードを求める。どの4桁の数字コードでもこの色の回答として受け入れられる。
  • 注意:この4桁の数字コードは、異なるキーを使用し新しいシーケンス番号に対応するため、ある色によって生成される4桁のコードが常に同じになる可能性は極めて低く、モジュール上の別の色から求めて入力したコードと同じものを入力しても機能しない可能性が高い!

付録A

十進数二進数論理ゲート
NORXORORAND
0001000
1010110
2100110
3110011